# config/factor_configs/__init__.py
from typing import Dict
from game_engine.game_state import FactorType

class FactorConfigs:
    """因子配置管理器"""
    
    @staticmethod
    def get_factor_config(factor_type: FactorType) -> Dict:
        """获取因子配置"""
        configs = {
            FactorType.MYDEI: {
                "name": "万敌",
                "spark": "纷争",
                "base_attributes": {
                    "attack": 25, "defense": 15, "health": 120,
                    "healing": 5, "mobility": 8, "perception": 10
                },
                "growth_rates": {
                    "attack": 2.0, "defense": 1.3, "health": 1.8,
                    "healing": 0.5, "mobility": 0.8, "perception": 1.0
                },
                "special_abilities": ["血怒反击", "燃烧意志", "终末冲击"],
                "preferred_actions": ["attack", "defend", "counter"]
            },
            FactorType.HYACINE: {
                "name": "风堇", 
                "spark": "天空",
                "base_attributes": {
                    "attack": 8, "defense": 12, "health": 110,
                    "healing": 30, "mobility": 15, "perception": 20
                },
                "growth_rates": {
                    "attack": 0.5, "defense": 1.1, "health": 1.2,
                    "healing": 2.5, "mobility": 1.5, "perception": 1.8
                },
                "special_abilities": ["天愈术", "风之守护", "生命礼赞"],
                "preferred_actions": ["heal", "support", "buff"]
            },
            # 其他因子配置...
        }
        
        return configs.get(factor_type, {})
    
    @staticmethod
    def get_all_configs() -> Dict[FactorType, Dict]:
        """获取所有因子配置"""
        return {
            factor_type: FactorConfigs.get_factor_config(factor_type)
            for factor_type in FactorType
        }